Cloud computing can perform an on-demand allocation according to the user's resource demand, i.e., the resources are allocated when being required by the service, and released when being not required. In a case where there are multiple peak-alternation services, the utilization efficiencies of various parts of the system can be improved on the whole. This feature of cloud computing effectively reduces the hardware and management costs for enterprise operation, increases the utilization rate of hardware resources, and greatly improves the cloud computing technology.
As one of the most common resource allocation modes, a Virtual Machine (VM) architecture provides services to multiple users in the same computer hardware through virtualization of hardware resources, thereby increasing the utilization rate of hardware resources. When a user requests resources of a certain capacity, the user may apply a resource management platform through an exposed interface thereof for the resources. When applying for the resources, the user provides a resource capacity demand parameter which includes VM CPU (central processing unit), memory, hard disk, network capacity, VM position requirement, VM image, etc. The demand parameter mainly refers to parameter requirement of some technical performances that the resource management platform shall satisfy, so that the resource management platform provides resources to the user according to the user's demand parameter. In the prior art, VMs on the same host machine are isolated from each other in a certain extent, and the isolation degree varies with the virtualization technology. The isolation mainly refers to mutual influence among the VMs. If an application running on one VM enters an endless loop, the VM may crash, but the running of other VM will not be influenced. The host machine in the present disclosure refers to a machine for VM running, and it may be a physical machine or a VM.
However, as the VMs share the hardware resources, the feature limitation of the hardware resources makes competition for the hardware resources exist among the VMs, e.g., for hard disk read/write, multiple VMs commonly and frequently read/write the hard disk will influence each other due to the limitation of the rotational and read-write speed of the hard disk. In a case where one physical machine has two or more VMs, the applications running on respective VMs may compete for resources, so that the performance of each VM cannot be ensured, and the physical machine cannot exert its optimal performance. For example, one physical machine has two VMs, and the applications running thereon both frequently read and write the hard disk, such as using the hard disk to cache the processed data, or copying and modifying the data of the hard disk. In that case, the applications on the two VMs will cause the competition for using the hardware resources between the VMs, thereby degrading the overall performance of the physical machine where the VMs are located. Currently, the physical resources of Infrastructure as a Service (IaaS) are shared by multiple users, and the users cannot know which application shares the same physical resources as which they apply for, thus cannot avoid the competition for the hardware resources among the VMs. In addition, since the resource management module is unable to acquire the features of the application going to run on the allocated VM, it also cannot avoid the competition for the hardware resources, thereby cannot prevent the degradation of the VM performance caused by the competition. Moreover, if multiple VMs having homogeneous demands on the hardware resources (i.e., the VMs have same or similar demands on the hardware resources, e.g., the two VMs both frequently read and write the hard disk) are arranged on the same physical machine, during the long-term running, a certain hardware of the physical machine will be in a high load state while other hardware will be in a low load state, thus the overall performance of the physical machine cannot be exerted uniformly, and the energy consumption and the hardware loss will be increased.